/**
 * 
 */
package cn.ad.server.web.spring.model.adview;

import cn.ad.server.web.spring.model.AdImpression;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 请求的广告描述，对应接口文档Impression 对象
 * 
 * @author Administrator
 */
public class AdViewImpression extends AdImpression {

	/**
	 * 唯一标识，由AdView生成
	 */
	private String id;

	/**
	 * 横幅或插屏广告信息描述
	 */
	private Banner banner;

	/**
	 * 原生广告信息描述
	 */
	@JsonProperty("native")
	private Native pnative;

	/**
	 * 私有交易
	 */
	private Pmp pmp;

	/**
	 * 展示类型
	 */
	private int instl;

	/**
	 * 用于发起拍卖的特定广告位置或广告牌的标识
	 */
	private String tagid;

	/**
	 * 底价，数值为 CPM 或 CPC 价格*10000 如底价为 CPM 价格 0.6元，则取值 0.6*10000=6000【 at=2
	 * 时忽略该字段】
	 */
	private int bidfloor;

	/**
	 * 价格单位，取值: USD,RMB，缺省 RMB
	 */
	private String bidfloorcur;

	/**
	 * 扩展内容
	 */
	private Object ext;

	private boolean debugMode;

	public boolean isDebugMode() {
		return debugMode;
	}

	public void setDebugMode(boolean debugMode) {
		this.debugMode = debugMode;
	}

	/**
	 * @return the id
	 */
	public String getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @return the banner
	 */
	public Banner getBanner() {
		return banner;
	}

	/**
	 * @param banner
	 *            the banner to set
	 */
	public void setBanner(Banner banner) {
		this.banner = banner;
	}

	/**
	 * @return the pnative
	 */
	public Native getPnative() {
		return pnative;
	}

	/**
	 * @param pnative
	 *            the pnative to set
	 */
	public void setPnative(Native pnative) {
		this.pnative = pnative;
	}

	/**
	 * @return the pmp
	 */
	public Pmp getPmp() {
		return pmp;
	}

	/**
	 * @param pmp
	 *            the pmp to set
	 */
	public void setPmp(Pmp pmp) {
		this.pmp = pmp;
	}

	public int getInstl() {
		return instl;
	}

	public void setInstl(int instl) {
		this.instl = instl;
	}

	/**
	 * @return the tagid
	 */
	public String getTagid() {
		return tagid;
	}

	/**
	 * @param tagid
	 *            the tagid to set
	 */
	public void setTagid(String tagid) {
		this.tagid = tagid;
	}

	/**
	 * @return the bidfloor
	 */
	public int getBidfloor() {
		return bidfloor;
	}

	/**
	 * @param bidfloor
	 *            the bidfloor to set
	 */
	public void setBidfloor(int bidfloor) {
		this.bidfloor = bidfloor;
	}

	/**
	 * @return the bidfloorcur
	 */
	public String getBidfloorcur() {
		return bidfloorcur;
	}

	/**
	 * @param bidfloorcur
	 *            the bidfloorcur to set
	 */
	public void setBidfloorcur(String bidfloorcur) {
		this.bidfloorcur = bidfloorcur;
	}

	/**
	 * @return the ext
	 */
	public Object getExt() {
		return ext;
	}

	/**
	 * @param ext
	 *            the ext to set
	 */
	public void setExt(Object ext) {
		this.ext = ext;
	}
}
